package com.esun.payment_api.service;

import com.esun.payment_api.bean.InvCancelDetailBean;
import com.esun.payment_api.dao.InvCancelFormDao;
import com.esun.payment_api.domain.InvCancelForm;
import com.esun.payment_api.dto.InvCancelFormQueryParam;
import com.esun.payment_api.dto.SubmitApprovalParam;

import java.util.List;

public interface InvCancelFormService {
    //查看发票作废详情信息
    InvCancelDetailBean getInvCancelDetail(Short userId, Integer id);
    //通过id删除
    int deleteById(Integer id);
    //选择性修改
    int update(InvCancelForm record);
    //发票作废申请提交审批
    void invCancelSubmitApproval(SubmitApprovalParam param);
    //发票作废被拒后重新提交审批
    void invCancelResubmitApproval(SubmitApprovalParam param);
    //校验发票作废提交申请
    String checkInvCancelSubmit(Integer id);
    //补充信息
    int updateById(InvCancelForm record);
    //通过发票作废id，获取对应发票的业务类型
    String getBusinessTypeByInvCancelId(SubmitApprovalParam param);
    //发票作废分类列表
    List<InvCancelFormDao> getListByType(InvCancelFormQueryParam queryParam, Integer pageSize, Integer pageNum);
}
